package com.itheima.overload;

/*
    黑马便利店里的支付既支持会员支付, 也支持普通用户支付.

        黑马超市做活动: 会员支付,满100 送500积分, 10积分可抵现1元. 普通顾客无积分优惠.

        现在 小张 带着200块钱和1000 积分来逛超市, 请设计程序, 模拟小张消费200元的结算情况.
        现在 小朱 带着200块钱, 请设计程序, 模拟小朱消费200元的结算情况.


 */
public class Demo2Overload {
    public static void main(String[] args) {
        //现在 小张 带着200块钱和1000 积分来逛超市, 请设计程序, 模拟小张消费100元的结算情况.
        pay(200, 200, 1000);
        //现在 小朱 带着200块钱, 请设计程序, 模拟小朱消费200元的结算情况.
        pay(200,200);
    }

    //1. 定义一个方法,用来支持会员结算
    /*
            double consume : 需要支付的金额
            double account : 账户中的剩余现金
            int jiFe       : 账户中的剩余积分
     */
    public static void pay(double consume, double account, int jiFen) {
        //1. 先计算积分抵现金额
        int cashMoney = jiFen / 10;
        //2. 计算实际要支付的金额
        double realMoney = consume - cashMoney;
        //3. 根据实际支付的金额计算返现积分
        if (realMoney >= 100) {
            jiFen = (int) (realMoney * 5);
        }
        //4. 计算账户中的剩余金额
        account = account - realMoney;

        //5. 输出结果
        System.out.println("您好,您本次消费:" + consume);
        System.out.println("您好,您本次积分抵现:" + cashMoney);
        System.out.println("您好,您本次实际支付:" + realMoney);
        System.out.println("您好,您账户剩余积分:" + jiFen);
        System.out.println("您好,您账户剩余金额:" + account);
    }

    //2. 定义一个方法,用来支持普通顾客结算
    public static void pay(double consume, double account) {
        double zl = account - consume;

        System.out.println("您好,您本次消费:" + consume);
        System.out.println("您好,收您:" + account + "找零:" + zl);

    }
}
